<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<meta name="theme-color" content="#33474d">
	<title>Linux 简介 | 失落的乐章</title>
	<link rel="stylesheet" href="/css/style.css" />
	
      <link rel="alternate" href="/atom.xml" title="失落的乐章" type="application/atom+xml">
    
</head>

<body>

	<header class="header">
		<nav class="header__nav">
			
				<a href="/archives" class="header__link">Archive</a>
			
				<a href="/tags" class="header__link">Tags</a>
			
				<a href="/atom.xml" class="header__link">RSS</a>
			
		</nav>
		<h1 class="header__title"><a href="/">失落的乐章</a></h1>
		<h2 class="header__subtitle">技术面前，永远都是学生。</h2>
	</header>

	<main>
		<article>
	
		<h1>Linux 简介</h1>
	
	<div class="article__infos">
		<span class="article__date">2017-10-12</span><br />
		
		
			<span class="article__tags">
			  	<a class="article__tag-link" href="/tags/Linux/">Linux</a>
			</span>
		
	</div>

	

	
		<h2 id="Linux-简史"><a href="#Linux-简史" class="headerlink" title="Linux 简史"></a>Linux 简史</h2><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱：UNIX 操作系统、MINIX 操作系统、GNU计划、POSIX 标准和Internet 网络。  </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1981 年IBM公司推出微型计算机IBM PC。   </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1991年，GNU计划已经开发出了许多工具软件，最受期盼的GNU C编译器已经出现，GNU的操作系统核心HURD一直处于实验阶段，没有任何可用性，实质上也没能开发出完整的GNU操作系统，但是GNU奠定了Linux用户基础和开发环境。   </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1991年初，林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。1991年4月，林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。  </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上，而且已经爱不释手、不能离开这个shell软件了。    </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1991年7月3日，第一个与Linux有关的消息是在comp.os.minix上发布的（当然此时还不存在Linux这个名称，当时林纳斯·托瓦兹的脑子里想的可能是FREAX，FREAX的英文含义是怪诞的、怪物、异想天开等）。      </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1991年的10月5日，林纳斯·托瓦兹在comp.os.minix新闻组上发布消息，正式向外宣布Linux内核的诞生（Freeminix-like kernel sources for 386-AT）。 </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1993年，大约有100余名程序员参与了Linux内核代码编写/修改工作，其中核心组由5人组成，此时Linux 0.99的代码大约有十万行，用户大约有10万左右。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1994年3月，Linux1.0发布，代码量17万行，当时是按照完全自由免费的协议发布，随后正式采用GPL协议。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1995年1月，Bob Young创办了RedHat（小红帽），以GNU/Linux为核心，集成了400多个源代码开放的程序模块，搞出了一种冠以品牌的Linux，即RedHat Linux,称为Linux”发行版”，在市场上出售。这在经营模式上是一种创举。     </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1996年6月，Linux 2.0内核发布，此内核有大约40万行代码，并可以支持多个处理器。此时的Linux 已经进入了实用阶段，全球大约有350万人使用<br>。      </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;1998年2月，以Eric Raymond为首的一批年轻的”老牛羚骨干分子”终于认识到GNU/Linux体系的产业化道路的本质，并非是什么自由哲学，而是市场竞争的驱动，创办了”Open Source Intiative”（开放源代码促进会）”复兴”的大旗，在互联网世界里展开了一场历史性的Linux产业化运动。      </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2001年1月，Linux 2.4发布，它进一步地提升了SMP系统的扩展性，同时它也集成了很多用于支持桌面系统的特性：USB，PC卡（PCMCIA）的支持，内置的即插即用，等等功能。      </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2003年12月，Linux 2.6版内核发布，相对于2.4版内核2.6在对系统的支持都有很大的变化。  </p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2004年的第1月，SuSE嫁到了Novell，SCO继续顶着骂名四处强行“化缘”， Asianux， MandrakeSoft也在五年中首次宣布季度赢利。3月，SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。</p>
<h2 id="主要特性"><a href="#主要特性" class="headerlink" title="主要特性"></a>主要特性</h2><h3 id="基本思想"><a href="#基本思想" class="headerlink" title="基本思想"></a>基本思想</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux的基本思想有两点：第一，一切都是文件；第二，每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件，包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言，都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的，很大程度上也是因为这两者的基本思想十分相近。</p>
<h3 id="完全免费"><a href="#完全免费" class="headerlink" title="完全免费"></a>完全免费</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux是一款免费的操作系统，用户可以通过网络或其他途径免费获得，并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点，来自全世界的无数程序员参与了Linux的修改、编写工作，程序员可以根据自己的兴趣和灵感对其进行改变，这让Linux吸收了无数程序员的精华，不断壮大。</p>
<h3 id="完全兼容POSIX1-0标准"><a href="#完全兼容POSIX1-0标准" class="headerlink" title="完全兼容POSIX1.0标准"></a>完全兼容POSIX1.0标准</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时，就想到以前在Windows下常见的程序是否能正常运行，这一点就消除了他们的疑虑。</p>
<h3 id="多用户、多任务"><a href="#多用户、多任务" class="headerlink" title="多用户、多任务"></a>多用户、多任务</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux支持多用户，各个用户对于自己的文件设备有自己特殊的权利，保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点，Linux可以使多个程序同时并独立地运行。</p>
<h3 id="良好的界面"><a href="#良好的界面" class="headerlink" title="良好的界面"></a>良好的界面</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统，用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似，可以说是一个Linux版的Windows。</p>
<h3 id="支持多种平台"><a href="#支持多种平台" class="headerlink" title="支持多种平台"></a>支持多种平台</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Linux可以运行在多种硬件平台上，如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统，可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作，使系统性能大大提高。</p>
<h2 id="桌面环境"><a href="#桌面环境" class="headerlink" title="桌面环境"></a>桌面环境</h2><h3 id="介绍"><a href="#介绍" class="headerlink" title="介绍"></a>介绍</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;在图形计算中，一个桌面环境（Desktop environment，有时称为桌面管理器）为计算机提供一个图形用户界面（GUI）。但严格来说窗口管理器和桌面环境是有区别的。桌面环境就是桌面图形环境，它的主要目标是为Linux/Unix操作系统提供一个更加完备 的界面以及大量各类整合工具和使用 程序，其基本 易用性吸引着大量的新用户。桌面环境名称来自桌面比拟，对应于早期的文字命令行界面（CLI）。一个典型的桌面环境提供图标，视窗，工具栏，文件夹，壁纸以及像拖放这样的能力。整体而言，桌面环境在设计和功能上的特性，赋予了它与众不同的外观和感觉。</p>
<h3 id="种类"><a href="#种类" class="headerlink" title="种类"></a>种类</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;现今主流的桌面环境有KDE，gnome，Xfce，LXDE等，除此之外还有Ambient，EDE，IRIX Interactive Desktop，Mezzo，Sugar，CDE等。</p>
<h3 id="gnome"><a href="#gnome" class="headerlink" title="gnome"></a>gnome</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;即GNU网络对象模型环境 (The GNU Network Object Model Environment)，GNU计划的一部分，开放源码运动的一个重要组成部分。是一种让使用者容易操作和设定电脑环境的工具。<br>目标是基于自由软件，为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境，他是GNU计划的正式桌面。</p>
<h3 id="Xfce"><a href="#Xfce" class="headerlink" title="Xfce"></a>Xfce</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;即XForms Common Environment，创建于2007年7月，类似于商业图形环境CDE，是一个运行在各类Unix下的轻量级桌面环境。原作者Olivier Fourdan最先设计XFce是基于XForms三维图形库。Xfce设计目的是用来提高系统的效率，在节省系统资源的同时，能够快速加载和执行应用程序。</p>
<h3 id="Fluxbox"><a href="#Fluxbox" class="headerlink" title="Fluxbox"></a>Fluxbox</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;是一个基于GNU/Linux的轻量级图形操作界面，它虽然没有GNOME和KDE那样精致 ，但由于它的运行对系统资源和配置要求极低，所以它被安装到很多较旧的或是对性能要求较高的机器上，其菜单和有关 配置被保存于用户根目录下的.fluxbox目录里，这样使得它的配置极为便利。</p>
<h3 id="Enlightenment"><a href="#Enlightenment" class="headerlink" title="Enlightenment"></a>Enlightenment</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;是一个功能强大的窗口管理器，它的目标是运用 户轻而易举地配置所见即所得的桌面图形界面。现在Enlightenment的界面已经相当豪华,它拥有像AfterStep一样的可视化时钟以及其它浮华的界面效果，用户不仅可以任意选择边框和动感的声音效果，最有吸引力的是由于它开放的设计思想，每一个用户可以根据自己的爱好，任意地配置窗口的边框、菜单以及屏幕上其它各个部分，而不须要 接触源代码，也不须要 编译任何程序。</p>
<h2 id="文件系统"><a href="#文件系统" class="headerlink" title="文件系统"></a>文件系统</h2><h3 id="文件类型"><a href="#文件类型" class="headerlink" title="文件类型"></a>文件类型</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>普通文件</strong>（regular file）：就是一般存取的文件，由ls -al显示出来的属性中，第一个属性为 [-]，例如 [-rwxrwxrwx]。另外，依照文件的内容，又大致可以分为：</p>
<ol>
<li>纯文本文件（ASCII）：这是Unix系统中最多的一种文件类型，之所以称为纯文本文件，是因为内容可以直接读到的数据，例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说，使用命令“cat ~/.bashrc”就可以看到该文件的内容（cat是将文件内容读出来）。</li>
</ol>
<ol>
<li><p>二进制文件（binary）：系统其实仅认识且可以执行二进制文件（binary file）。Linux中的可执行文件（脚本，文本方式的批处理文件不算）就是这种格式的。举例来说，命令cat就是一个二进制文件。</p>
</li>
<li><p>数据格式的文件（data）：有些程序在运行过程中，会读取某些特定格式的文件，那些特定格式的文件可以称为数据文件（data file）。举例来说，Linux在用户登入时，都会将登录数据记录在 /var/log/wtmp文件内，该文件是一个数据文件，它能通过last命令读出来。但使用cat时，会读出乱码。因为它是属于一种特殊格式的文件。</p>
</li>
</ol>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>目录文件</strong>（directory）：就是目录，第一个属性为 [d]，例如 [drwxrwxrwx]。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>连接文件</strong>（link）：类似Windows下面的快捷方式。第一个属性为 [l]，例如 [lrwxrwxrwx]。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>设备与设备文件</strong>（device）：与系统外设及存储等相关的一些文件，通常都集中在 /dev目录。通常又分为两种：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>块设备文件</strong>：就是存储数据以供系统存取的接口设备，简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>字符设备文件</strong>：即串行端口的接口设备，例如键盘、鼠标等等。第一个属性为 [c]。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>套接字</strong>（sockets）：这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求，客户端就可以通过套接字来进行数据通信。第一个属性为 [s]，最常在 /var/run目录中看到这种文件类型。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>管道</strong>（FIFO,pipe）：FIFO也是一种特殊的文件类型，它主要的目的是，解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out（先进先出）的缩写。第一个属性为 [p]。</p>
<h3 id="文件结构"><a href="#文件结构" class="headerlink" title="文件结构"></a>文件结构</h3><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/</strong>：根目录，所有的目录、文件、设备都在/之下，/就是Linux文件系统的组织者，也是最上级的领导者。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/bin</strong>：bin 就是二进制（binary）英文缩写。在一般的系统当中，都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/boot</strong>：Linux的内核及引导系统程序所需要的文件目录，比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下，GRUB或LILO系统引导管理器也位于这个目录。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/cdrom</strong>：这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如：mount /dev/cdrom /cdrom</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/dev</strong>：dev 是设备（device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备，和访问一个文件，一个目录没有任何区别。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/etc</strong>：etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件，文件系统，x系统配置文件，设备配置信息，设置用户信息等都在这个目录下。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/home</strong>：如果建立一个用户，用户名是”xx”,那么在/home目录下就有一个对应的/home/xx路径，用来存放用户的主目录。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/lib</strong>：lib是库（library）英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此，千万不要轻易对这个目录进行什么操作，一旦发生问题，系统就不能工作了。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/lost+found</strong>：在ext2或ext3文件系统中，当系统意外崩溃或机器意外关机，而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里，并修复已经损坏的文件系统。有时系统发生问题，有很多的文件被移到这个目录中，可能会用手工的方式来修复，或移到文件到原来的位置上。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/mnt</strong>：这个目录一般是用于存放挂载储存设备的挂载目录的，比如有cdrom等目录。可以参看/etc/fstab的定义。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/media</strong>：有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘（包括U盘）、CD/DVD驱动器等等。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/opt</strong>：这里主要存放那些可选的程序。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/proc</strong>：可以在这个目录下获取系统信息。这些信息是在内存中，由系统自己产生的。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/root</strong>：Linux超级权限用户root的家目录。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/sbin</strong>：这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放，是超级权限用户root的可执行命令存放地，普通用户无权限执行这个目录下的命令，这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的，凡是目录sbin中包含的都是root权限才能执行的。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/selinux</strong> ：对SElinux的一些配置文件目录，SElinux可以让linux更加安全。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/srv</strong> 服务启动后，所需访问的数据目录，举个例子来说，www服务启动读取的网页数据就可以放在/srv/www中</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/tmp</strong>：临时文件目录，用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候，会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/usr</strong>：这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下，可以找到那些不适合放在/bin或/etc目录下的额外的工具</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/usr/local</strong>：这里主要存放那些手动安装的软件，即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录，而把自定义的脚本（scripts)放到/usr/local目录下面。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/usr/share</strong> ：系统共用的东西存放地，比如 /usr/share/fonts 是字体目录，/usr/share/doc和/usr/share/man帮助文件。</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<strong>/var</strong>：这个目录的内容是经常变动的，看名字就知道，可以理解为vary的缩写，/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录；/var/lib 用来存放一些库文件，比如MySQL的，以及MySQL数据库的的存放地。</p>

	

	
		<span class="different-posts"><a href="/2017/10/12/1. Linux 基础/1. Linux 简介/" onclick="window.history.go(-1); return false;">⬅️ Go back </a></span>

	

</article>

	</main>

	<footer class="footer">
	<div class="footer-content">
		
	      <div class="footer__element">
	<p>Hi there, <br />welcome to my Blog glad you found it. Have a look around, will you?</p>
</div>

	    
	      <div class="footer__element">
	<h5>Check out</h5>
	<ul class="footer-links">
		<li class="footer-links__link"><a href="/archives">Archive</a></li>
		
		  <li class="footer-links__link"><a href="/atom.xml">RSS</a></li>
	    
		<li class="footer-links__link"><a href="/about">about page</a></li>
		<li class="footer-links__link"><a href="/tags">Tags</a></li>
		<li class="footer-links__link"><a href="/categories">Categories</a></li>
	</ul>
</div>

	    

		<div class="footer-credit">
			<span>© 2017 失落的乐章 | Powered by <a href="https://hexo.io/">Hexo</a> | Theme <a href="https://github.com/HoverBaum/meilidu-hexo">MeiliDu</a></span>
		</div>

	</div>


</footer>



</body>

</html>
